package MidTerm;

import java.util.EnumMap;
import java.util.Set;

// 座位配置类
class SeatConfig {
    // 座位类型与座位数量的映射关系
    private final EnumMap<SeatType, Integer> config = new EnumMap<>(SeatType.class);
    /**
     * 添加一个座位类型及其初始数量
     * @param type 座位类型
     * @param quantity 初始数量
     * @return 当前SeatConfig对象，支持链式调用
     */
    public SeatConfig add(SeatType type, int quantity) {
        config.put(type, quantity);
        return this;
    }
    /**
     * 获取所有座位类型
     * @return 座位类型集合
     */
    public Set<SeatType> getSeatTypes() {
        return config.keySet();
    }
    /**
     * 获取座位类型的初始数量
     * @param type 座位类型
     * @return 初始数量，如果不存在则返回0
     */
    public int getInitialQuantity(SeatType type) {
        return config.getOrDefault(type, 0);
    }
}
